package com.leoman.category.service;

import com.leoman.category.entity.Category;
import com.leoman.common.service.GenericManager;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * Created by 蔡琦 on 2016/6/21 0021.
 *
 */
public interface CategoryService extends GenericManager<Category> {

    // public List<Category> findByType(Integer type);

    // 根据类型查询分类列表
    List<Category> findType(Integer type);

    // 首页查询作品集列表
    List<Category> iFindList();

    // 根据类型查询分类列表（分页）
    Page<Category> page(Integer type, Integer pageNum, Integer pageSize);

    // 分类列表（分页）
    Page<Category> findPage(Integer type, Integer status, Integer pageNum, Integer pageSize);

    // 编辑保存作品集分类
    void saveEdit(HttpServletRequest request,String name, Long categoryId,Integer type, @RequestParam(value = "imageFile",required = false) MultipartFile file);

    // 排序，turn=0，上移；turn=1，下移
    Integer changeShowTurn(Long categoryId,Integer turn);

    // 查询序号，turn=1代表查询排序号第一位的分类信息，turn=0代表查询排序号最后一位的分类信息
    Category getShowTurn(Integer turn);

    // 删除分类后更新排序方式
    void updateShowTurn(Integer turn);

    Category findOneById(Long categoryId);
}
